using System;
using System.Collections.Generic;
using BLL.Model.Base;
using BLL.Model.User;
using BLL.Utility;

namespace BLL.Interface.User
{
    public interface IUserInfo
    {
        bool AddUserInfo(UserInfo userInfo);

        bool AddUserInfo(IList<UserInfo> userInfoList);

        bool UpdateUserInfo(UserInfo userInfo);

        bool DeleteUserInfoById(int id);

        bool DeleteUserInfoById(IList<int> idList);

        IList<UserInfo> GetAllUserInfo();

        UserInfo FindUserInfoById(int id);

        UserInfo FindUserInfoByAccountName(string accountName);

        IList<UserInfo> GetUserInfoByFilter(dynamic condition, Tuple<string, string> sort, PageInfo page);

        LoginUserInfo CheckUser(string accountName, string password);

        bool CheckAccountNameExists(string accountName);

        bool ResetPassword(int id, string newPassword);

    }

}
